<?php

/**
 *
 * - Função para resgatar sua timeline no twitter.
 *   Referente a sua home/time_line.
 *
 * @author Frederico Estrela
 * @since 2010-05-18
 * @version 2010-05-18
 * @access public
 * @param <string> $username
 * @param <string> $password
 *
 */
function getTimeLine( $username, $password )
{
        // Inicializa o recurso curl e retorna o
        // resource que iremos trabalhar
        $ch = curl_init();

        // Remove espaço de usuário e senha para autenticarmos na API
        $username = trim($username);
        $password = trim($password);

        /*
         * URL de API para resgatar a timeline do usuário
         * logado. Nesse caso estamos pedindo o seu retorno
         * em JSON.
         */
        $host = 'http://api.twitter.com/1/statuses/home_timeline.json';

        // Mesma diretivas apresentadas no post anterior

        //utilize as linhas comentadas abaixo caso sua rede
        //esteja passando por um proxy
        //curl_setopt($ch, CURLOPT_PROXY, "http://seuproxy.local");
        //curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
        //curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "USER:PASSWORD");
        curl_setopt($ch, CURLOPT_URL, $host);
        curl_setopt($ch, CURLOPT_VERBOSE, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_POST, 1);

        // Efetua a requisição e pega o retorno em JSON
        $retorno = curl_exec($ch);

        // Informações sobre a requisição
        $resultadoFinal = curl_getinfo($ch);
        curl_close($ch);

        /*
            Aqui retornamos o status da requisição e o retorno
            em JSON convertida para array com a função json_decode
         */
        return array( 'return' => $resultadoFinal['http_code'],
                      'timeline' => json_decode( $retorno, true ) );

}

?>